package com.cskaoyan.javase.oop2._1extend._3protected._2exercise;

/**
 * @description: 一个protected权限的案例
 * @author: wuguidong@cskaoyan.onaliyun.com
 **/

/**
 * Object类是Java当中所有类的顶层父类,
 *      Object类当中的成员方法会被Java当中的每一个类继承
 * Object类当中有一个成员方法叫clone,它的访问权限是protected
 *
 * A类是Object类的子类,会继承Object当中的受保护成员clone方法
 * 显然A类和Object类不同包,访问Object类当中的受保护成员叫不同包下,访问protected成员
 * 只有一种方式: 在子类自身中,创建自身对象,然后才能访问
 *
 */
public class Demo {
    public static void main(String[] args) throws CloneNotSupportedException {
        /*A a = new A();
        //a.能不能访问继承过来的clone方法
        a.*/
        Demo d = new Demo();
        d.clone();

        A a = new A();
        a.clone();
    }
}
class A{

    public void test() throws CloneNotSupportedException {
        A a = new A();
        a.clone();
    }

    @Override
    public Object clone() throws CloneNotSupportedException {
        return super.clone();
    }
}
